package com.data.security.modelo;

import java.util.ArrayList;

import com.data.security.R;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class AdaptadorArchivos extends BaseAdapter {

	private ArrayList<Archivo> lista;
	private Context contexto;
	private boolean atras;

	public AdaptadorArchivos(Context contexto, ArrayList<Archivo> lista) {
		this.lista = lista;
		this.contexto = contexto;
		atras = false;
	}

	public AdaptadorArchivos(Context contexto, Archivo[] vector) {
		lista = new ArrayList<Archivo>();

		for (int k = 0; k < vector.length; k++) {
			lista.add(vector[k]);
		}

		this.contexto = contexto;
	}

	@Override
	public int getCount() {

		return lista.size();
	}

	@Override
	public Object getItem(int position) {
		return lista.get(position);
	}

	@Override
	public long getItemId(int position) {
		return 0;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		View vista = convertView;
		ImageView imagen, chulo, errorImag;
		TextView titulo, tipo, errorLabel;

		if (vista == null) {
			LayoutInflater inflar = (LayoutInflater) contexto
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			vista = (View) inflar.inflate(R.layout.item_archivo, null);
		}

		Archivo archivo = lista.get(position);
		imagen = (ImageView) vista.findViewById(R.id.imagen_item);
		errorImag = (ImageView) vista.findViewById(R.id.chulo_error_Imagen);
		titulo = (TextView) vista.findViewById(R.id.titulo_item);
		chulo=(ImageView)vista.findViewById(R.id.chuloImagen);
		tipo = (TextView) vista.findViewById(R.id.tipo_item);
		errorLabel=(TextView)vista.findViewById(R.id.label_error_dropbox);
		titulo.setText(archivo.getTitulo());
		
		if (archivo.esArchivo() || archivo.esMultimedia()) {
			imagen.setBackgroundResource(archivo.getIcono());
			
		} else {
			if (atras && position==(lista.size()-1)) {
				imagen.setBackgroundResource(R.drawable.arrow_drop);
				titulo.setText(contexto.getString(R.string.atras));
		 	} else {
				imagen.setBackgroundResource(R.drawable.carpeta);	
			}
		}
	
		if (archivo.estaEnNube().equals(Archivo.SI)){
			chulo.setVisibility(View.VISIBLE);
		}
		
		if(archivo.hayErrorConNube()){
			errorImag.setVisibility(View.VISIBLE);
			errorLabel.setVisibility(View.VISIBLE);
		}
		
		tipo.setText(archivo.getTipo());
		

		return vista;
	}

	public void setExisteAtras(boolean valor){
		atras=valor;
	}
}
